package com.gg.user.system.feignClient;

import com.gg.common.result.CommonResult;
import com.gg.registration.vo.hosp.HospitalQueryVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @author chenjunjia
 * @date 2022/4/13 14:01
 */
@FeignClient(value = "service-hospital",path = "/admin/hospital")
@Service
public interface HospitalFeignClient {

    /**
     * 条件分页查询医院列表
     * @param currentPage 当前页
     * @return 统一返回结果集
     *
     * 这里改成POST了注意一下，之前是get，前端报错的话记得从前端get改成post
     *
     * 2022.04.30：改动，HospitalQueryVo形参前面加上RequestBody
     */
    @PostMapping("getList/{currentPage}/{limit}")
    CommonResult getList(@PathVariable("currentPage") Integer currentPage,
                         @PathVariable("limit") Integer limit,
                         @RequestBody HospitalQueryVo hospitalQueryVo);

    /**
     * 根据医院名称模糊查询医院
     * @param hosname 医院名称
     * @return 统一返回结果集
     */
    @GetMapping("findByHosname/{hosname}")
    CommonResult findByHosname(@PathVariable("hosname") String hosname);

    /**
     * 树形查询科室信息
     * @param hoscode 医院code
     * @return 统一返回结果集
     */
    @GetMapping("findDepartment/{hoscode}")
    CommonResult findDepartment(@PathVariable("hoscode") String hoscode);

    /**
     * 获取医院详情和预约详情
     * @param hoscode 医院编号
     * @return 统一返回结果集
     */
    @GetMapping("findHospDetail/{hoscode}")
    CommonResult findHospDetail(@PathVariable("hoscode") String hoscode);

}
